#include<stdio.h>
#include<unistd.h>
#include <sys/types.h>


int gval = 10;
int main()
{

        printf("我是子进程，我的id: %d;我的父进程: %d\n",getpid(),getppid());

    int id = fork();
    if(id == 0) //调用失败
    {
        perror("fork");
        return 1;
    }
    else if(id > 0)  //父进程执行
    {

        printf("我是父进程，我的id: %d;我的父进程: %d\n",getpid(),getppid());
        while(1)
        {
        sleep(1);
        printf("父进程修改%d --->  %d",gval,gval+10);
        gval += 10;
        printf("我是父进程，我的id: %d;我的父进程: %d\n",getpid(),getppid());
        }
    }
    else
    {
        printf("我是子进程，我的id: %d;我的父进程: %d\n",getpid(),getppid());
        while(1)
        {
        sleep(1);
        printf("子进程gval的值 %d",gval);
        printf("我是子进程，我的id: %d;我的父进程: %d\n",getpid(),getppid());
        }
    }

    printf("当前进程 %d",getpid());
   // printf("父进程 %d\n",getpid());
   // fork();
   // printf("子进程 %d",getpid());
   // 
   // printf("\n");
   // while(1)
   // {
   //     printf("进程测试,我的进程ID %d,我的进程 %d\n",getpid(),getppid());
   //     sleep(1);
   // }

    return 0;
}
